/*-------------------------- Main.cs ---------------------------*/
/*
 * 13.Realizar una clase llamada ‘CalculoDeArea’ que posea 3
 * métodos de clase (estáticos), CalcularCuadrado,
 * CalcularTriangulo y CalcularCirculo, que realicen el calculo
 * del área que corresponda.
 * El ingreso de los datos como la visualización se deberán
 * realizar desde el método Main().
 */

using System;
using SC = System.Console;

namespace Ejercicio_13
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            int opcion = 0;
            // titulo
            Console.Title = "Ejercicio 13";
            while (opcion != 4){
                SC.Clear();
                // menu
                Console.Write ("Menu Calculo De Area\n" +
                               "---- ------- -- -----\n" +
                               "1)CalcularCuadrado\n" +
                               "2)CalcularTriangulo\n" +
                               "3)CalcularCirculo\n" +
                               "4)Salir\n" +
                               "Seleccionar: ");
                opcion = int.Parse(SC.ReadLine());
                switch(opcion){
                case 1:
                    // calculo cuadrado
                    SC.Clear();    
                    SC.Write("ingrese lado uno: ");
                    float ladoUno = float.Parse(SC.ReadLine());
                    SC.Write("ingrese lado dos: ");
                    float ladoDos = float.Parse(SC.ReadLine());
                    float cuadrado = CalculoDeArea.CalcularCuadrado(ladoUno, ladoDos);
                    SC.WriteLine("El resultado es: {0}", cuadrado);
                    SC.ReadLine();                    
                    break;
                case 2:
                    // calculo triangulo
                    SC.Clear();    
                    SC.Write("ingrese lado base: ");
                    float bas = float.Parse(SC.ReadLine());
                    SC.Write("ingrese lado altura: ");
                    float alt = float.Parse(SC.ReadLine());
                    float triangulo = CalculoDeArea.CalcularTriangulo(bas, alt);
                    SC.WriteLine("El resultado es: {0}", triangulo);
                    SC.ReadLine();
                    break;
                case 3:
                    // calculo circulo
                    SC.Clear();    
                    SC.Write("ingrese radio: ");
                    double radio = double.Parse(SC.ReadLine());
                    double circulo = CalculoDeArea.CalcularCirculo(radio);
                    SC.WriteLine("El resultado es: {0}", circulo);
                    SC.ReadLine();
                    break;
                case 4:
                    break;
                default:
                    SC.Clear();    
                    SC.WriteLine("Elija otra opcion");
                    SC.ReadLine();
                    break;
                }
            }
        }
    }
}
/*-------------------------- CalculoDeArea.cs ---------------------------*/
using System;
using SC = System.Console;

namespace Ejercicio_13
{
    public class CalculoDeArea
    {
        public static float CalcularCuadrado (float laUno, float laDos){
            //lado por lado
            return laUno * laDos;
        }
        public static float CalcularTriangulo (float bas, float alt ){
            //base por altura sobre dos
            return (bas * alt)/2;
        }
        public static double CalcularCirculo (double radio){
            //pi por radio al cuadrado
            //return Math.PI * Math.Pow(radio,2); 
            const double PI = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469;
            return PI *(radio * radio);
        }
    }
}